home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 3.3 KB | 158 lines |
- 2 DEF SEG = 0: FOR XU = 0 TO 3: POKE &H6C + XU, PEEK(&H20+XU): NEXT XU
- 3 WIDTH 40
- 6 GOSUB 50000
- 7 DIM M%(1):M%(0)=1485
- 20 SCREEN 0:KEY OFF:CLS
- 21 COLOR 0,7
- 25 LOCATE 5,1
- 27 PRINT SPACE$(40);
- 30 LOCATE 6,1:PRINT" The Great International Paper Airplane ";
- 40 LOCATE 7,1:PRINT" Construction Kit ";
- 45 PRINT SPACE$(40);
- 50 LOCATE 9,1:PRINT " Airplane Printout Program ";
- 52 PRINT SPACE$(40);
- 55 COLOR 7,0
- 70 LOCATE 18,1:PRINT "Copyright 1985 by Simon & Schuster, Inc."
- 90 LOCATE 20,3:PRINT "Program by Ross, Brandon & Reid, Inc."
- 100 LOCATE 22,4:PRINT "Based on original by Neosoft, Inc."
- 110 LOCATE 25,8:PRINT"Press any key to continue";
- 115 GOSUB 500
- 120 SCREEN 0:CLS
- 125 COLOR 0,7
- 130 LOCATE 2,14
- 132 PRINT " "
- 135 LOCATE 3,14
- 140 PRINT " Main Menu "
- 141 LOCATE 4,14
- 142 PRINT " "
- 145 COLOR 7,0
- 160 LOCATE 10,7:PRINT"1. Print plane from Paper"
- 161 LOCATE 11,10:PRINT"Airplane program disk"
- 165 LOCATE 13,7
- 170 PRINT "2. Print plane from a"
- 171 LOCATE 14,10:PRINT"disk of your own"
- 175 LOCATE 16,7
- 180 PRINT "3. Exit to DOS"
- 200 LOCATE 22,10
- 210 PRINT " Your choice (1-3) ?";
- 215 GOSUB 500
- 220 IF VAL(Y$)<1 OR VAL(Y$)>3 THEN BEEP:GOTO 200
- 230 ON VAL(Y$)GOTO 1200,600,400
- 240 GOTO 215
- 400 SCREEN 0
- 401 CLS:LOCATE 12,11:PRINT "Exit program (Y/N) ?";:GOSUB 500
- 450 IF Y$<>"y" AND Y$<>"Y" THEN SCREEN 1:GOTO 120
- 460 CLS:SYSTEM
- 500 PRINT" ";:GOSUB 30100
- 501 Y$=INKEY$
- 505 IF Y$="" THEN 501
- 510 RETURN
- 600 SCREEN 0:CLS:LOCATE 1,10
- 605 IF F$="Menu" OR F$="menu" OR F$="MENU" THEN F$="":GOTO 120
- 607 F$=""
- 610 COLOR 0,7
- 630 PRINT " Listing of Files on "
- 632 LOCATE 2,10
- 635 PRINT " Your Own Disk "
- 637 COLOR 7,0
- 640 LOCATE 4,1
- 645 GOTO 900
- 900 REM
- 901 FILES
- 908 GOSUB 30100
- 909 LOCATE 25,1:PRINT"Type `menu' to return to main menu";
- 910 LOCATE 23,1:PRINT"Enter FILENAME to print ==>";
- 913 FX=1:GOSUB 30200:F$=Y$
- 915 GOSUB 924:GOTO 600
- 924 IF F$="Menu" OR F$="MENU" OR F$="menu" OR LEN(F$)=0 THEN CLS:RETURN
- 925 ON ERROR GOTO 1090
- 928 SCREEN 1,0
- 929 IF IER=1 THEN RESUME:GOTO 940
- 930 CLS:BLOAD F$
- 940 LOCATE 1,1:PRINT" .......Print this Plane (Y/N) ?.......";:GOSUB 500
- 945 IER=0
- 950 IF Y$<>"Y" AND Y$<>"y" THEN RETURN
- 960 BLOAD F$
- 970 GOSUB 10000:RETURN
- 1090 CLS:LOCATE 12,13:PRINT"File not found!";:BEEP
- 1095 LOCATE 24,8:PRINT "Press any key to continue";
- 1096 GOSUB 500
- 1097 IER=1
- 1098 RETURN
- 1099 STOP
- 1100 GOTO 120
- 1200 SCREEN 0:CLS:LOCATE 1,10
- 1210 COLOR 0,7
- 1230 PRINT " Listing of Airplanes "
- 1232 LOCATE 2,10
- 1235 PRINT " on the Program Disk "
- 1237 COLOR 7,0
- 1244 LOCATE 5,1:PRINT "Undecorated Decorated"
- 1245 LOCATE 6,1:PRINT " Planes Planes"
- 1247 LOCATE 8,1
- 1250 FOR I=1 TO NP
- 1252 LOCATE ,1
- 1253 PRINT STR$(I);". "PF$(I)
- 1255 NEXT I
- 1257 LOCATE 8,12
- 1258 FOR I=NP+1 TO ND+NP-4
- 1259 IF I=17 THEN PRINT
- 1260 LOCATE ,12
- 1262 PRINT STR$(I);". "PF$(I)
- 1264 NEXT I
- 1268 LOCATE 8,25
- 1270 FOR I=17 TO 20
- 1272 LOCATE ,25
- 1276 PRINT STR$(I);". "PF$(I)
- 1278 NEXT I
- 1290 LOCATE 14,26:PRINT"21. Main Menu";
- 1320 LOCATE 22, 9:PRINT" Your choice (1-21) ? "
- 1325 LOCATE 22,32
- 1330 GOSUB 30200:IF VAL(Y$)<1 OR VAL(Y$)>21 THEN BEEP:GOTO 1320
- 1332 IF VAL(Y$)=21 THEN GOTO 120
- 1336 F$=PF$(VAL(Y$))+".PIC"
- 1340 GOSUB 924:GOTO 1200
- 6000 REM INSTRUCTIONS
- 7000 REM DRIVERS
- 7720 GOTO 120
- 9999 STOP
- 10000 M%(1)=203:L%=VARPTR(M%(0)):DEF USR=L%:PRINT USR(0):RETURN
- 30100 DEF SEG=0: POKE 1050,PEEK(1052): DEF SEG: RETURN
- 30200 NUM$="":SCREEN 0:GOSUB 30100
- 30201 A$=INKEY$:IF A$="" THEN 30201
- 30202 LOCATE ,,0
- 30203 IF A$=CHR$(32) THEN BEEP:GOTO 30201
- 30205 IF A$=CHR$(13) OR A$=CHR$(8) THEN 30400
- 30207 IF FX=1 THEN 30225
- 30210 IF A$<"0" OR A$>"9" THEN BEEP:GOTO 30201
- 30215 IF LEN(NUM$)=>2 THEN BEEP:GOTO 30201
- 30218 IF LEN(NUM$)=0 AND A$="0" THEN BEEP:GOTO 30201
- 30225 IF FX=1 AND LEN(NUM$)>=12 THEN BEEP:GOTO 30201
- 30230 NUM$=NUM$+A$
- 30231 IF FX=1 THEN LOCATE 23,28:GOTO 30234
- 30232 LOCATE 22,32:PRINT NUM$;" ";:GOTO 30235
- 30234 PRINT NUM$;SPACE$(13-LEN(NUM$));
- 30235 GOSUB 30100
- 30236 IF FX<>1 THEN PRINT " ";
- 30240 GOTO 30201
- 30400 IF LEN(NUM$)=0 THEN BEEP :GOTO 30201
- 30401 IF A$=CHR$(13) THEN 31000
- 30410 NUM$=LEFT$(NUM$,LEN(NUM$)-1)
- 30420 GOTO 30231
- 31000 REM END OF NUMBER C/R FOUND
- 31105 FX=0
- 31110 Y$=NUM$
- 31120 RETURN
- 49999 END
- 50000 REM READ PLANES
- 50005 DIM PF$(25)
- 50010 NP=9
- 50020 ND=11
- 50030 FOR I=1 TO NP+ND
- 50040 READ PF$(I)
- 50050 NEXT I
- 50060 RETURN
- 55000 DATA PLANEB,PLANEC,PLANEE,PLANEF,PLANEG,PLANEI,PLANEJ,PLANEK,PLANEL
- 55010 DATA DPLANEA,DPLANED,DPLANEE,DPLANEF,DPLANEH,DPLANEJ,DPLANEM
- 55015 DATA HARDWARE,MARKINGS,WINGS1,WINGS2
-